Как и в любом другом языке программирования очень важными являются операторы создания циклов. Циклы бывают нескольких типов: с предусловием, с постусловием и заданными параметрами. В JavaScript реализованы только два типа циклов: с предусловием и заданными параметрами.
Цикл с предусловием в данном языке записывается следующим образом:
while (условие) {
//..блок операторов..
};
Цикл выполняет блок операторов до тех пор пока условие цикла принимает истинное значение.
Пример:
i=0;
while (i<10) {
document.writeln("<br>I=",i);
i++;
};
Данный пример напечатает 10 строк от "I=0" до "I=9".
Цикл с параметрами записывается следующим образом:
for (нач_знач;условия;приращение) {
//..блок операторов..
};
Данный цикл выполняется заданное количество раз. Начальные значения переменных цикла задаются выражением нач_знач. Условия задают условия выхода из цикла и записываются в виде логических выражений. Выражение приращение задает изменение параметров цикла за одну итерацию.
Пример:
for (k=1;k<10;k+=2) {
document.writeln("<br>K=",k);
};
for (i=0,j=2;i<10,j<5;i++,j++) {
document.writeln("<br>I=",i," J=",j);
};
Эти два цикла демонстрируют работу цикла с параметрами. Оба они могут быть реализованы с помощью while. Например аналогичный код для второго цикла будет следующим:
i=0;
j=2;
while ((i<10)&&(j<5)) {
document.writeln("<br>I=",i," J=",j);
i++;
j++;
};
При этом, если используется несколько переменных в цикле, то условием считается логическое И от всех условий. В данном примере будет выведен следующий результат:
I=0 J=2 I=1 J=3 I=2 J=4Для более удобной работы с циклами в язык были введены операторы прерывания цикла и его продолжения. Оператор прерывания цикла записывается в виде break. Он сразу прерывает работу цикла и передает управление блоку операторов следующих за циклом. Пример:
i=2;
while (i<10){
if (i>5) break;
document.writeln("<br>I=",i);
i++;
};
document.writeln("<br>End !");
В данном примере будет выведено следующее:
I=2 I=3 I=4 I=5 End !
Для продолжения цикла, т.е. перехода к следующей итерации предназначен оператор continue. Пример:
i=2;
while (i<5){
if (i==3){
i++;
continue;
};
document.writeln("<br>I=",i);
i++;
};
Результат данного примера будет таким:
I=0 I=1 I=2 I=4 I=5
Обратите внимание, что перед вызовом continue следует правильно изменить параметр цикла. Если этого не сделать, то при следующей итерации цикл будет работать с предыдущим значением и произойдет зацикливание. Но это только в случае с оператором while, т.к. в операторе for интерпретатор языка сам заботится об изменении параметра цикла.
Последним важным оператором языка является условный оператор, который позволяет разветвить программу в зависимости от какого-либо условия. Записывается он следующим образом:
if (условие) {
// код для истинного условия
}
else
{
// код для ложного условия
};
Данный оператор также может быть записан более коротко без использования else:
if (условие) {
// код для истинного условия
};
Этот оператор используется очень часто и даже является составной частью циклов.